So this looks good but just for the record, using `h` and `s` as function names hurts my brain