Made the library a self calling function