another version fulfill class's requirement