added function extensions