pre require_self