model may override createId function