allow the attribute argument to be other types