coding 99% done, test and comment