clean up metadata on ascent
record changes in a separate map instead of metadata
record key removal