[fix] use properties and add some helpers