Implement auto ID (closes #123)