type shadow
should rename this