starting refactor
listeners.py works
fingerpint history works
local.py works
location.py works
netcast.py works
commit often
fixed merge conflicts