third-party libraries and setup