Added some more cpp solutions, cleaned up code to read top to bottom