only call _get_invisibles once
multiple mutations issue (WIP)