refactoring grabber