Pretty much working solution. some kinds to work out.