updated library, currently broken