basic setup for the library