- Changed error codes to start from 1000 instead of 0
- Added exception
- Added tests
- Fixed names