design and some stuffs