initial commit of first implementation