begin boolean and optional