little changes, not working yet :( need more tests