added base model and controller