Restucture gem resources, dry out code