TimeAllocator(Working)