added prototype pattern test