add contributor model and some actions and views