updated and removed somethings, tests almost passing