implemented interpose