adds key as agrument to subject __init__ function and changes shelve process