not quite working adaptive