first initialize
first init