various updates and improvements