add prototype design
add a lot of Patterns