Hard speed up (22/30)

Hard speed up