Added Carpet implementation