public interface to bind onchange