commit hw2. Not finished yet.