add function types to prop