direct methods