added knight movement logic