implement some method