refactor Time extentions