James C - everything now guarenteed a type
James C - identlist refactor
James C - cleaned up names