Usage example and tests