start implementing phases