refactor code for post create and shot assignment