implement time module