added parent/child scoping behaviour