timer -- refactored timer for timing methods