The payload tests are a bit ugly but it all works and reads nice