improve annotation api