validator integration test
refactor model with magic methods