Add prototype pattern