reorganize into 2 files
support datetimes

closes #1