does not abstract sysclock