many changes, mostly getters