new version using strings instead of classes in annotation and also FluentApi annotation