This document describes a program to solve the 8 puzzle problem using best first search. It includes steps to create classes for actions, nodes, and the search algorithm. The node class generates heuristic values and possible moves. Best first search uses an open and closed list to search the state space, sorting by heuristic value. The program was tested on sample inputs and outputs execution time and number of steps.