create a few getter and setter methods + some refactor