First edit, needs minors things before publish.