new library and new adventure working, will refactor later