added explainations for solutions