design and some parse stuff