allow null callbacks