rework internal architecture