Adding prototype pattern