for design purpose