add items respawn and refactoring