avoid magic numbers