add getters to *name parameters
add setId function
redesign