intermediate step to refactor all stuff