attribute metadata (dictionary) instead of name and description
tests checking reading and writing metadata
draft of documentation