vastly simplify the library