corrected main methods