Lilong's branch without the extra commits

This PR is fixing #10 so that it doesn't have any of the extra commits. After Lilong's approval that I didn't miss anything important, we can merge it.