allowing ids to be set explicitly