add nested functionality to systems