memory reduction + error handling