after extensive testing, this works properly when binding