initial commit of base functionality