refactor
close to first version
working through it...
0.0.2