improve time methods with an eye to cmp