suggestions by @mattbasta