added domain model and some views