added master model and refactored other models;