Alex Cheng HW1

Too many merge issues on my master branch. Filing from this branch instead.