First draft, somewhat working (will save contacts).