First partially working version.