Upgraded Version