main function is okay.