re-thought date/time API a bit