refactor 1 - extact