First fully working version.