Stuff for hw3. Shound have been on a hw3 branch...