First implementation with middleman