Add different gem support

 - see gemfile
 - some model changes
 - init model associations (needs testing)
 - TODO: validations