started functional implementations added knight moves