INIT code rafactoring branch
refactofing