stricter when passing properties to sub-components