implemented default id generator