debug
cleanup
new implementation started