multi-speeds implemented