added other required function definitiona