migrate to annotation