parameters may be empty