many failed tests still need fixing... will do this tomorrow