Addressed lots of comments