adds review edit feature and refactor