added more tests and extra getters and setters