using modified method signatures in updated library, added more documentation