range should be optional; fix header