now we have almost completed the functions :-)