Added smarter button methods