third commit
Working model
Tests implemented