the library works about how i want it to
cleanup