it is better to give invalid param message