Refactoring entire po receive to model