Major usability fixes; could use some optimizing now probably