+ small refactoring and prepare for the list homework