most of the way there...