Some more work, does not even compiles.