updated argument treatment