Added validations and created lots of partials