lots of optional libraries added