yet more updates, not quite compilable though