implemented passing of arguments