now constraining non-layout props