still not quite there, but less broken