Throw InvalidArgumentException instead of NotFoundException

It provides better error messages for the user