add solution 8, clean up