Better separation of concerns
Refactor and added remove functionality