moved annotations from the interface to the implementation