modularise timelog