improve base_spin