beginning blueprints refactor