Added prototype design pattern.