another set of functions was implemented