added function types