Finish initial version, ready to check for bugs