Flat implementation