port data-binding functions from previous project