almost there
and more