added button disable function