Added Answers and some improvements