Improved Button Framework