did a big ol' refactoring (over-engineered, probably) + added support for times