completely untested, incomplete NPC code

this code just starts the NPC features to come, and it's untested. but
it builds