support: use exceptions and parameters