More documentation more organization in the code