created time_base with common accessors.
created tests to check if it maintains everything in range.
made time_check work with shift