updated type system, added evaluation type and re-organized other types.