borrowing from the go/* packages left right and centre
sleepy.