Added main classes and exceptions

TODO: complete main structure and create unit tests