start to implement model view