added dep graph and deregister method