default values
maintain fill status transparently in a weakdict