hero preparing

strat to add hero
some refactoring
need to find some error(on exit)