annotations and model