generalized command