annotated functions