refactor design module