Added a lot off functions