pass agility_drill test, the code need cleaning up