Added a lot of changes suggested by reviewers