added lib def stuff