Todo:

- time conversion funcs
- improve error handling / reporting
