internal structure updates