first init with all function