refactor experimental code