preliminary half working commit