wrote minimal version that uses a standard format or a formatter callback