Lots of comments here marked as TODO (17, 28, 97, 118, 120), can you add short descriptions explaining why we might need to do them?