Create smart adapter