add readme + some refactoring for adaptive