further refactoring and api explorer home