added and changed somew methods and fixed tests for the broken ones