Polished code. Renamed to the proper file name for submission.