added more and better solutions