change implementation method