hopefully better registration of callbacks