remove defs, through and promise