move ident generation out of constructor oops