make attrs more flexible