Ver 1.0

Functional. To meet all the requirements, these are needed:
- More classes
- Data validation (on some level)
- Exceptions