Fixed major errors, still needs some styling.