copied viso files for code gen purposes