add aliases
update events
sepeate setter/getter traits