90%: First working version.