Refactor order, private, private functions