Major (Solution) : reworked all logic