refactor +POST method