First attempt on describing the library interface.