refactoring :)