refactoring =)