--- demonstration.py-orig	2010-07-09 12:03:49.323180500 +0100
+++ demonstration.py	2010-07-09 12:05:52.412488200 +0100
@@ -35,13 +35,19 @@
 from __future__ import division        # needs to be first line
 import sys
 import os
-import plac
 import urllib2
 from collections import defaultdict
 from datetime import date
 from datetime import datetime
+
 from dateutil.relativedelta import *
+
+try:
 from lxml import etree
+except:
+    from xml.etree import ElementTree as etree
+
+
 from StringIO import StringIO
 
 help_message = '''
@@ -335,262 +341,9 @@
         yield self.srpct*self.paydown + self.srpppct*self.prepay
 
 #create an empty dictionary for each loan record
-d1 = defaultdict(list)
-d2 = defaultdict(list)
-d3 = defaultdict(list)
-d4 = defaultdict(list)
-d5 = defaultdict(list)
-d6 = defaultdict(list)
-d7 = defaultdict(list)
-d8 = defaultdict(list)
-d9 = defaultdict(list)
-d10 = defaultdict(list)
-d11 = defaultdict(list)
-d12 = defaultdict(list)
-d13 = defaultdict(list)
-d14 = defaultdict(list)
-d15 = defaultdict(list)
-d16 = defaultdict(list)
-d17 = defaultdict(list)
-d18 = defaultdict(list)
-d19 = defaultdict(list)
-d20 = defaultdict(list)
-d21 = defaultdict(list)
-d22 = defaultdict(list)
-d23 = defaultdict(list)
-d24 = defaultdict(list)
-d25 = defaultdict(list)
-d26 = defaultdict(list)
-d27 = defaultdict(list)
-d28 = defaultdict(list)
-d29 = defaultdict(list)
-d30 = defaultdict(list)
-d31 = defaultdict(list)
-d32 = defaultdict(list)
-d33 = defaultdict(list)
-d34 = defaultdict(list)
-d35 = defaultdict(list)
-d36 = defaultdict(list)
-d37 = defaultdict(list)
-d38 = defaultdict(list)
-d39 = defaultdict(list)
-d40 = defaultdict(list)
-d41 = defaultdict(list)
-d42 = defaultdict(list)
-d43 = defaultdict(list)
-d44 = defaultdict(list)
-d45 = defaultdict(list)
-d46 = defaultdict(list)
-d47 = defaultdict(list)
-d48 = defaultdict(list)
-d49 = defaultdict(list)
-d50 = defaultdict(list)
-d51 = defaultdict(list)
-d52 = defaultdict(list)
-d53 = defaultdict(list)
-d54 = defaultdict(list)
-d55 = defaultdict(list)
-d56 = defaultdict(list)
-d57 = defaultdict(list)
-d58 = defaultdict(list)
-d59 = defaultdict(list)
-d60 = defaultdict(list)
-d61 = defaultdict(list)
-d62 = defaultdict(list)
-d63 = defaultdict(list)
-d64 = defaultdict(list)
-d65 = defaultdict(list)
-d66 = defaultdict(list)
-d67 = defaultdict(list)
-d68 = defaultdict(list)
-d69 = defaultdict(list)
-d70 = defaultdict(list)
-d71 = defaultdict(list)
-d72 = defaultdict(list)
-d73 = defaultdict(list)
-d74 = defaultdict(list)
-d75 = defaultdict(list)
-d76 = defaultdict(list)
-d77 = defaultdict(list)
-d78 = defaultdict(list)
-d79 = defaultdict(list)
-d80 = defaultdict(list)
-d81 = defaultdict(list)
-d82 = defaultdict(list)
-d83 = defaultdict(list)
-d84 = defaultdict(list)
-d85 = defaultdict(list)
-d86 = defaultdict(list)
-d87 = defaultdict(list)
-d88 = defaultdict(list)
-d89 = defaultdict(list)
-d90 = defaultdict(list)
-d91 = defaultdict(list)
-d92 = defaultdict(list)
-d93 = defaultdict(list)
-d94 = defaultdict(list)
-d95 = defaultdict(list)
-d96 = defaultdict(list)
-d97 = defaultdict(list)
-d98 = defaultdict(list)
-d99 = defaultdict(list)
-d100 = defaultdict(list)
-d101 = defaultdict(list)
-d102 = defaultdict(list)
-d103 = defaultdict(list)
-d104 = defaultdict(list)
-d105 = defaultdict(list)
-d106 = defaultdict(list)
-d107 = defaultdict(list)
-d108 = defaultdict(list)
-d109 = defaultdict(list)
-d110 = defaultdict(list)
-d111 = defaultdict(list)
-d112 = defaultdict(list)
-d113 = defaultdict(list)
-d114 = defaultdict(list)
-d115 = defaultdict(list)
-d116 = defaultdict(list)
-d117 = defaultdict(list)
-d118 = defaultdict(list)
-d119 = defaultdict(list)
-d120 = defaultdict(list)
-d121 = defaultdict(list)
-d122 = defaultdict(list)
-d123 = defaultdict(list)
-d124 = defaultdict(list)
-d125 = defaultdict(list)
-d126 = defaultdict(list)
-d127 = defaultdict(list)
-d128 = defaultdict(list)
-d129 = defaultdict(list)
-d130 = defaultdict(list)
-d131 = defaultdict(list)
-d132 = defaultdict(list)
-d133 = defaultdict(list)
-d134 = defaultdict(list)
-d135 = defaultdict(list)
-d136 = defaultdict(list)
-d137 = defaultdict(list)
-d138 = defaultdict(list)
-d139 = defaultdict(list)
-d140 = defaultdict(list)
-d141 = defaultdict(list)
-d142 = defaultdict(list)
-d143 = defaultdict(list)
-d144 = defaultdict(list)
-d145 = defaultdict(list)
-d146 = defaultdict(list)
-d147 = defaultdict(list)
-d148 = defaultdict(list)
-d149 = defaultdict(list)
-d150 = defaultdict(list)
-d151 = defaultdict(list)
-d152 = defaultdict(list)
-d153 = defaultdict(list)
-d154 = defaultdict(list)
-d155 = defaultdict(list)
-d156 = defaultdict(list)
-d157 = defaultdict(list)
-d158 = defaultdict(list)
-d159 = defaultdict(list)
-d160 = defaultdict(list)
-d161 = defaultdict(list)
-d162 = defaultdict(list)
-d163 = defaultdict(list)
-d164 = defaultdict(list)
-d165 = defaultdict(list)
-d166 = defaultdict(list)
-d167 = defaultdict(list)
-d168 = defaultdict(list)
-d169 = defaultdict(list)
-d170 = defaultdict(list)
-d171 = defaultdict(list)
-d172 = defaultdict(list)
-d173 = defaultdict(list)
-d174 = defaultdict(list)
-d175 = defaultdict(list)
-d176 = defaultdict(list)
-d177 = defaultdict(list)
-d178 = defaultdict(list)
-d179 = defaultdict(list)
-d180 = defaultdict(list)
-d181 = defaultdict(list)
-d182 = defaultdict(list)
-d183 = defaultdict(list)
-d184 = defaultdict(list)
-d185 = defaultdict(list)
-d186 = defaultdict(list)
-d187 = defaultdict(list)
-d188 = defaultdict(list)
-d189 = defaultdict(list)
-d190 = defaultdict(list)
-d191 = defaultdict(list)
-d192 = defaultdict(list)
-d193 = defaultdict(list)
-d194 = defaultdict(list)
-d195 = defaultdict(list)
-d196 = defaultdict(list)
-d197 = defaultdict(list)
-d198 = defaultdict(list)
-d199 = defaultdict(list)
-d200 = defaultdict(list)
-d201 = defaultdict(list)
-d202 = defaultdict(list)
-d203 = defaultdict(list)
-d204 = defaultdict(list)
-d205 = defaultdict(list)
-d206 = defaultdict(list)
-d207 = defaultdict(list)
-d208 = defaultdict(list)
-d209 = defaultdict(list)
-d210 = defaultdict(list)
-d211 = defaultdict(list)
-d212 = defaultdict(list)
-d213 = defaultdict(list)
-d214 = defaultdict(list)
-d215 = defaultdict(list)
-d216 = defaultdict(list)
-d217 = defaultdict(list)
-d218 = defaultdict(list)
-d219 = defaultdict(list)
-d220 = defaultdict(list)
-d221 = defaultdict(list)
-d222 = defaultdict(list)
-d223 = defaultdict(list)
-d224 = defaultdict(list)
-d225 = defaultdict(list)
-d226 = defaultdict(list)
-d227 = defaultdict(list)
-d228 = defaultdict(list)
-d229 = defaultdict(list)
-d230 = defaultdict(list)
-d231 = defaultdict(list)
-d232 = defaultdict(list)
-d233 = defaultdict(list)
-d234 = defaultdict(list)
-d235 = defaultdict(list)
-d236 = defaultdict(list)
-d237 = defaultdict(list)
-d238 = defaultdict(list)
-d239 = defaultdict(list)
-d240 = defaultdict(list)
-d241 = defaultdict(list)
-d242 = defaultdict(list)
-d243 = defaultdict(list)
-d244 = defaultdict(list)
-d245 = defaultdict(list)
-d246 = defaultdict(list)
-d247 = defaultdict(list)
-d248 = defaultdict(list)
-d249 = defaultdict(list)
-d250 = defaultdict(list)
-d251 = defaultdict(list)
-d252 = defaultdict(list)
-d253 = defaultdict(list)
-d254 = defaultdict(list)
-d255 = defaultdict(list)
-websters = [d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, d32, d33, d34, d35, d36, d37, d38, d39, d40, d41, d42, d43, d44, d45, d46, d47, d48, d49, d50, d51, d52, d53, d54, d55, d56, d57, d58, d59, d60, d61, d62, d63, d64, d65, d66, d67, d68, d69, d70, d71, d72, d73, d74, d75, d76, d77, d78, d79, d80, d81, d82, d83, d84, d85, d86, d87, d88, d89, d90, d91, d92, d93, d94, d95, d96, d97, d98, d99, d100, d101, d102, d103, d104, d105, d106, d107, d108, d109, d110, d111, d112, d113, d114, d115, d116, d117, d118, d119, d120, d121, d122, d123, d124, d125, d126, d127, d128, d129, d130, d131, d132, d133, d134, d135, d136, d137, d138, d139, d140, d141, d142, d143, d144, d145, d146, d147, d148, d149, d150, d151, d152, d153, d154, d155, d156, d157, d158, d159, d160, d161, d162, d163, d164, d165, d166, d167, d168, d169, d170, d171, d172, d173, d174, d175, d176, d177, d178, d179, d180, d181, d182, d183, d184, d185, d186, d187, d188, d189, d190, d191, d192, d193, d194, d195, d196, d197, d198, d199, d200, d201, d202, d203, d204, d205, d206, d207, d208, d209, d210, d211, d212, d213, d214, d215, d216, d217, d218, d219, d220, d221, d222, d223, d224, d225, d226, d227, d228, d229, d230, d231, d232, d233, d234, d235, d236, d237, d238, d239, d240, d241, d242, d243, d244, d245, d246, d247, d248, d249, d250, d251, d252, d253, d254, d255]
+websters = []
+for i in range(num_loans):
+    websters.append(defaultdict(list))
 
 content = urllib2.urlopen(url).read()
 root = etree.fromstring(content)
@@ -671,4 +424,4 @@
     run_loan_payoff(cpr) # call the function to produce the table
 
 if __name__ == "__main__":
-        plac.call(main)
\ No newline at end of file
+    sys.exit(main(sys.argv[1]))
