adjust type then call base method with the new one