sigh, this is a very manual process