This should probably return an optional, shouldn't it?