add clearer comments and updated readme