support initialization with given clock