Advanced button functionality & other refinements & ideas/comments.
Some refinements & ideas/comments.
Revert "Some refinements & ideas/comments."

This reverts commit 470ee37938ae97f897e73ecfb40c74eb76b7c767.
USE THIS ONE - previous 3 were mistakes.
Some refinements & ideas/comments.