prototype structue