added the adapter and uses pixel_d in its interfaces