some progress, almost there