replaced with TimeUtils for platform compatibility