Library (quite) ready, still needs testing