added isfree check to generate_moves, fixed extra args on isfree calls