Polished version for Submission