Major update, lots of gui stuff done.