adaptive systems