refactoring and extension of Entry