intermediate commit

works, needs a memory leak check