limit and button state fixed