add bunch of functionality, fix ui layouts