Add trait support
Fixed conflicts