[0.8] Resolves #27. Resolves #7. Lots of work on #33. Small amount of work done on #5 and #2.