improve the Clock and the code, better separates the components