finish optimize for btn-order