method extracted