add blueprint throws exception instead of returning false