initial version of the library that should provide basic functionality