proto annotation + property stuff and tests