added defaults

they are not in the migration because this way they could easily be modified without destroying the data
more explicit error adding
added more validations
removed unused gems