complete methods