added clever_move