added functions and stuff. I don't remember.