some design enhancement