Changed the callback system