pass 1 at solutions. NOT TESTED