Starting on inventory (currently broken, but compiles and runs)