improive the gem compatible with spree