Making this generic and fixing Issue #1 with timezones