Added validation and annotation