fleshed out fingerprinting and parsing framework