Almost. Needs cleanup
Minor edits