- added create and remove 
- added better error handling
added query