getters, init and nice