supporting custom attributes