add models, custom methods and customize interface