generic attribute check function