progress and make it more generic
no longer private
generic
v0.0.7