added fn type