cleaned up program, final test and sumbit