split create_item and create_child out as separate methods