Removed redondant code, added comments (minus 1500 lines) Storage structures are left unchanged for now.