annotations doesnt need to implement the interface