save buttons are inactive when saving is not possible. note: too much
extra code for a little bit of functionality. may need revision.