refine
more flexible command