create adaptive version