cleanup, abstraction, and working on the ability to WRITE.