adding libraries, functions and stuff