minor changes made to the source