Made everything internal that needn't be public