raise exception instead of return none