horribly broken, but saving state to try something else