refactored timekeeper module