commented both main methods