modified by sathyaraj