added for enhancement 3.