preliminary version of arg-passing