I put these initialization into register_parameters(), I know this make things hard to read.