Not perfect, but getting there...