eliminate 'new' call