made params and callbacks optional