optimised adapter