Second commit from JREB

- Extended model classes
- Added test
- Extended Main Class