some refactoring and new explorer control