add core and callbacks