added external libaries