completed proto-type