Another big commit

Signed-off-by: Adam Prince <adam@adamprince.us>