added trait macro
updated readme