Made some tweaks, but not completely finished.