made timer client platform-independent