swmm component development