redesigned clock module a bit
avoiding redundant divisions as much as possible
added support for negative serials
added tm struct