Added prototype pattern.