Laying out the library, converting it over to klass, not all the stuff makes sense to convert it exactly over form Java but whatever