Not quite as flexible as I'd like, but it greatly simplifies the height calculation so no sense worrying about making it more general until we need it to be.