init func branch

this will be merged into main when complete