Different implementation to retain parallelism b/w keys and attrs