working adj lists, all tests pass