update aware traits.
add tests
update readme