Content changed to my own functions