first implementation of bubbling behavior