One more time full rewrite