changes as per requirement