First functional version of the library