Added better documentation and cleaned code.