Refactor push