Refactoring - second try

np