use java5 annotations