Lots of functionality and gui changes.