first time initialization protocol added

and misc api and variable additions