almost complete program and some image