Refactor to single retime method