updated logging with timestamps