finished? I don't know
three TODOs