um delete function and refactor controller 60%