refactor to segment out different roles.  add dynamodb