add library, implemt interpreter