library that contain basic functions