add more prop.type checks