refactor and timing