some refactorings, introduce new methods to retrieve single element