Allow to use 2 or 3 phases, passing it as an argument