some re-design stuff