implement clock