Alpha-quality-but-working-version.