first commit
give up MVP pattern