Refactored a little to add an optional query parameter