added getters, setters, and pretty simple UI interaction