unfinished  solution