implement time units correctly, with test cases