fixed error order, implemented button disable