handling parameters better