Distributed generation: A review of progress