Works. Not fast enough