Improvements

A lot of it works separately now, just needs to be tied together in an
intuitive way.