add type restrictions