refactoring: extract common from lena and hopper