multi-arguments callbacks added