Foundations of general topology