added proper exception throwing when unhandled args