fix code, add more tests