first pass at new clock api