Separated the clock generator into a separate module