implement annotation partially