mostly there, need to fix the circularity problem
moved no dependencies state to be entirely in model, kernel tests pass