First implementation, two steps