Code restructuration #part1