https://bimheroes.com/mastering-dynamo-scripts-for-revit/