initial code. tests donot pass
refactored timestamp formatting
improved time stamp in the logging