partial AI implementation