Better way to do adapters