refactor another blob