Not Finished; need to be revised.