Still a partial solution. Not working yet.