implement ignore_key for filtering return values
sort keys whenever they are dumped anywhere
implement get_grades with tests