change default implementation