cleaned up code, added comments and read me