[ ] sign/verify downloaded object files

[ ] design/implement a useful selection algorithm

[ ] clean up code  for portability considerations, bounds checking, etc.
