store attrs in an obj instead of an array, for better overwriteability