a better usage method