fix, but don't know why it works