A few tweaks to make it usable. Still needs more work and
more testing until it can be considered finished.