refactor
refactor
add ProgressListener
refactor
refactor
refactor
delete ErrorReporter
move all steps to steps package