redesign of binding variables and callbacks