cleaned the source code