First working version

Better model
Validators integration
More tests
Cleanup