enhanced to handle speed1
enhanced to handle speed2