removed delete and refactored