further rework (intermediate commit)