modify to introduce ARGUMENT type and export it