add validations
refactor tests and add association tests
bundle update