choosing libraries to use