changed how id gets generated