add getters/setters/more functions