maybe we can do away with some of these magic numbers