new type design. (imcomplete, backup only).