UGMFree
Free resources for developers
SyMenu
SyMenu Manual (version 1.11)



Introduction

SyMenu allows users to manage portable applications resident on a removable drive.
SyMenu can be installed in pen drives, external USB disks, memory cards and even CD and DVD.
It's easy to use and configure and take the power of its search-as-you-type menu in your removable media.

No more lacks of your preferred programs at work, in your just-installed system, even in old PC of your grandmother.
You'll be always ready to operate with your preferred tools.

Prerequisites

SyMenu needs the following requisites to work:
Supported operating systems are the ones in which you can install .NET Framework 2.0 that is:
  • Windows 2000;
  • Windows XP;
  • Windows Server 2003;
  • Windows Vista;
  • Windows Server 2008;
  • Windows 7.
It doesn't matter if your OS is 32bit or 64bit version.

Installation

SyMenu is very easy to install.
These are the detailed steps to follow:
  • Download SyMenu last version from http://www.ugmfree.it/SyMenuDownload.aspx;
  • Unzip downloaded file inside an empty folder of your removable device (for example: f:\SyMenu);
  • Execute SyMenu.exe;
  • SyMenu asks you to select your preferred language and to accept the licence terms;
  • SyMenu shows a splash screen and puts its icon on Windows task bar (see figure).
    SyMenu task icon
N.B. In case of Windows can't execute SyMenu and returns an error, it means that your hosting PC doesn't have .NET Framework 2.0 installed.

First execution

During first execution SyMenu configures itself creating folders and configuration files (SyMenuConfig.xml and SyMenuItem.xml).
Every SyMenu operation against file system only concerns SyMenu home folder and related subfolders.

Contextual menu is activated left clicking or right clicking SyMenu taskbar icon or using the customizable key shortcut (see Configuration menu - Options chapter).

The appearance of a not yet customized SyMenu is similar to following figure:
SyMenu Empty Menu
while a configured SyMenu looks like this one:
Configured SyMenu

Configuration

SyMenu saves its configurations in two files: SyMenuConfig.xml and SyMenuItem.xml.
SyMenuConfig.xml contains any program configuration.
SyMenuItem.xml contains any SyItems configuratin.

Every time that configuration files change, SyMenu create a backup to eventually retrive the last configuration.
Backup files are called SyMenuConfig.xml.bak and SyMenuItem.xml.bak.

Contextual Menu

Execute SyItems

SyItems are executed simply making a click with mouse or confirming current selected item with Enter key on your keyboard.
Contextual Menu is navigable either with mouse or arrow keys.
ESC key closes Contextual Menu or currently opened sub menu.

Contextual Menu includes some particular entries that are not customizable by users.
On the top area you can find SyMenu title which doesn't have any particular function.
Just below the title you can find Executor Modifier which is described in next chapter.
Search Items opens a sub menu that allows to search between items (see Search Item Bar).
Then you can find Options item which opens a sub menu that gives access to several core functions:
  • SyMenu entry loads Configuration form
  • Enable/Disable Extension Manager changes Extension Manager current state.
  • Autoexec on start launches all programs configured for auto-execution on start even if Autoexec has been disabled by user (see Auto Execute).
  • Check for Update verifies if SyMenu is updated checking version on this website. If version is not updated SyMenu suggests to start automatic update process.
  • Elevate SyMenu re-executes SyMenu with elevated privileges in Windows Vista and newer OS, for users that have UAC enabled.
  • Reload refreshes SyMenu items.
Contextual menu - Options

In the bottom area you can find Exit item which, of course, shuts down SyMenu.

Executor Modifier

Under the title bar, Contextual Menu shows active execution mode.
Normal state for execution mode is Run Item. This means that a click on any SyItem will run it.
SyMenu offers three other modes to execute SyItems: Open Folder, File Properties, RunAs Item.
Alternative modes can be accessed clicking with mouse pointer onto Executor Modifier area or simply pressing CTRL key while Contextual Menu is opened.

Open Folder mode allows to open selected SyItem container folder.

File Properties mode asks operating system to show Windows file properties dialog regarding selected SyItem.

RunAs Item mode allows user to execute any SyItem with different credential. Naturally new credential is valid only if alternative user exists on local PC or in network domain.
SyMenu stores alternative credential specified through RunAs for every item so you have to provide user name and password once per item.
Particular items such as SyWinCommand can be executed only in normal mode (Run Item) because since commands are not files, they don't have properties and they don't reside in any folder.
On the other hand execution in RunAs mode is allowed even for SyWinCommand items.

SyMenu Executor Modifier

Search Item Bar

SyMenu has a great feature which is Search Item bar.
It's a very similar feature to Windows Start Menu because allows to search between SyItems only writing some letters of their names.
For example to search for SyItem PADGen, user has to write initial letters to retrieve it as first item (see next figure).
Configured SyMenu

Search Item Bar - Windows integration

SyMenu can integrate the searching result list with items configured on host PC Windows Start Menu.
In this way you can access PC installed programs from a single place: the Search Item Bar.
It's very usefull when you want to execute not portable programs (Office, Photoshop, Internet Explorer, games and so on).
SyItems and Windows Start Menu items remain always splitted up.
Watch figure above to undestand how SyMenu works in this case: the top items are SyItems and the ones below separator line are host PC items.
Configured SyMenu
By default, integration with Windows Start Menu is enabled and limited to five items but it's possible to increase the number of listed items or completely disable this feauture (for example to increase performance or to reduce memory occupation) through Configuration menu - Options.

Configuration form

Clicking 'Options - SyMenu' entry from Contextual Menu, you can access to the configuration form.
Next picture shows configuration form with an already configured SyMenu.
SyMenu Main form

SyItems

On the left hand side you can see the programs tree. It's a simple tree which contains every configured SyItem.

SyItems are the various entities that SyMenu allows to configure:
  • SyContainer
  • SyWebLink
  • SyWinCommand
  • SyFolderLink
  • SyProgram
  • SyDocument
  • SySeparator

SyContainer are SyMenu logical folders that can contains every kind of SyItem.
SyWebLinks are URL that are launched inside the predefined host browser.
SyWinCommands are items that allow to launch Windows DOS commands (such as Dir, Find, MD, Xcopy...).
SyFolderLinks are items that link to existing folders inside the removable drive.
SyPrograms are items that link to programs inside the removable drive.
SyDocuments are items that link to any file except programs inside the removable drive.
SySeparator are graphical separator for SyItems.

Clicking on a SyItem you can see its properties on the right hand side of the main form.
Every kind of SyItem has its particular property set.

SyContainer

SyContainer has only two properties: Name and Icon.
Naturally Name is the identifier label of item.
Icon is an optional property that permits to customize the container appearance. Default icon for SyContainer is an opened folder similar to one used in Windows Explorer.

To customize SyContainers it's possible to use multi colour folder icons.
SyContainer Icons

SyWebLink

SyWebLink has got the usual properties Name and Icon and a new property: URL.
URL represents the web page Internet address that is linked by SyWebLink.
SyWebLink supports and accepts the following protocols: http://, https:// and ftp://.

SyWinCommand

SyWinCommand has got Name, Icon, Description and Windows Command properties.
Windows Command property supports every command included in Windows command console.
Besides, since version 1.06, SyWinCommand can link even .cpl, .msc and .exe files. The only requirement is that linked program has to reside on one of the registered path (ask for "path" in windows command to know registered path in your system). Otherwise full path must be specified.
Multiple command can be assembled in one SyWinCommand with correct separator (semi-colon)

Examples:

main.cpl - makes Mouse properties dialog appears

main.cpl;perfmon.msc;dir c:\; - makes Mouse properties dialog and Performance monitor appear. Besides in command window SyMenu executes dir command for C:\ unit

C:\Windows\System32\systeminfo.exe - asks that SyMenu executes in command window systeminfo program. In this case it's possible to achieve the same result with SyProgram item

If mapped command take path as parameters, remind to enclose it between quotation marks. Examples if you want to list folders and files inside the Windows folder of your host PC you have to write: dir "c:\Windows".

For compatibility requirement the entire command list consists of commands included in Windows XP shell.

N.B. SyWinCommand path parameters could be written using Universal Unit Identifier: dir #:\

SyFolderLink

SyFolderLink has got four properties: Name, Icon, Description and Path.

Description is a custom text that describes SyItem. If a description is supplied a tooltip appears when mouse pointer stays hover SyItem in Contextual Menu.

Path is the physical path to the pointed folder.

SyProgram

SyProgram is the most complex and useful SyItem. It allows to link your SyItem to executable files residing on your removable device.
SyProgram properties are Name, Icon, Path, Description and Parameters.
Parameters properties allows to send parameters to launched programs.
Usually program guides, list any available command line parameters. Read them to learn your favourite programs command lines list.


Parameters example:

If you want to launch Firefox (not the portable version but normal one), you have to specify the profile folder in which Firefox takes and stores its profile information. Reading command line guide, you can realize that profile folder can be specifies with the -profile [path] parameter.
So if you want to retrieve your Firefox preferred customizations even when you launch it from removable device, you have to specify this parameter property: -profile "#:\SyMenu\Profiles\Firefox"

N.B. Note that in SyProgram Parameters property it's permitted to use Universal Unit Identifier if referred folder or file resides on SyMenu removable drive.


Parameters with placeholder example:

Since 1.09 version SyMenu supports even placeholder in parameters like batch files (%1).

Let's see a complex example of using placeholder and extension manager too.

Create a Truecrypt volume named test.tc Configure Truecrypt with extension manager to manage extension .tc
In parameters add this line: /v %1 /l T /a /p abcdefg /q background
Enable extension manager.

From now every time you double click on a file with extension .tc (for example our test.tc), SyMenu Extension Manager intercepts this file and delivers it to Truecrypt (/v %1), mount it on T virtual drive (/l T) and uses abcdefg as password (/p abcdefg).


Shortcut to execute SyPrograms

SyProgram configuration allows to specify a key shortcut to launch program with a simple keys combination.


Advanced parameters

SyProgram item allows to customize advanced params too. They concern about the runtime parameters that programs can be instructed to follow.
So if you want to instruct your program to use certain AppData folder or UserProfile folder you can try to complete the Advanced Params box.
This feature is not so reliable because not every program is built to follow Windows environment variables: usually they ask for Windows Special Folders that are not customizable.

Working directory instead could be really important for some programs and represent the folder in where process executes.
Since SyMenu version 1.10, Working directory is already set by default for every programs on same folder of executable file. Edit this parameter only if you need to specify a different Working directory than default one.

The environment variables managed by SyMenu are:
  • WORKING DIRECTORY
  • APPDATA, LOCALAPPLICATIONDATA, COMMONAPPLICATIONDATA
  • USERPROFILE
  • HOMEPATH
  • PROGRAMFILES, PROGRAMS

SyDocument

SyDocument is a generic container that can link any file type (except .exe and .dll).
For some file type SyMenu provide a custom icon. Managed extensions are: url, htm, html, hlp, 7z, arj, gz, gzip, lzh, rar, tar, tgz, zip, jpg, jpeg, gif, tiff, tif, bmp, png, txt, nfo, ini, chm, doc, docx, rtf, xls, pdf, wav, mp3, mid.
This basic list is customizable "by hand" through SyMenuConfig.xml, which is SyMenu configuration file.
Watch out! Every manual modification of configuration file can break SyMenu. In this case delete SyMenuConfig.xml and restart SyMenu.

SySeparator

SySeparator is a graphical separator to create logical areas inside the same SyContainer or inside the root container.

SyItems Attributes

Relative Path

It's useful to stress out a fact. When SyMenu manages objects residing in removable devices, it can't store the exact path of a folder (or file) because the device unit could change between different machines.
So a linked folder (i.e. f:\Pictures) could be d:\Picture on PC at home, e:\Picture on PC at work and so on.
To avoid false paths, SyMenu supports relative path and universal unit identifier.

Support for Windows relative path is valid for Path and Icon values.
Example:
If your SyProgram Notepad++ resides on f:/Symenu/ProgramFiles/Notepad++ folder and SyMenu resides on f:/SyMenu folder you can specify as path attribute: .\ProgramFiles\Notepad++\notepad++.exe.

SyMenu uses relative path when you drag and drop a new item from file system to the application tree.

Universal Unit Identifier

With universal unit identifier SyMenu replaces unit identifier (f:\) with a particular string (#:\).
Universal unit identifier is replaced with the correct one unit (f:\, d:\, e:\) at run-time to correctly retrieve items on file system.

Support for universal unit identifier is valid for Paths, Icons and Parameters.

Drag and Drop

Item tree supports drag and drop between SyItems. You can change position of your SyItems or moving an item from a SyContainer to another. Simply click with mouse on a SyItem and drag it away.

Moreover item tree supports drag and drop from host file system.
So if you want map a program residing on you pen drive inside SyMenu, the procedure is very simple: drag it into the item tree and SyMenu will make the work for you.
Drag and drop from file system works for: program files, archive file, folder, web link.

Icons

To customize any SyItem with a particular icon, it only needs to browse to an .ico file: SyMenu will copy .ico file in its appropriate folder and make association with current SyItem.
Another chance it is to browse to an .exe or .dll file. In these cases SyMenu extracts from the file, the first available icon and copy it into its appropriate folder.

Auto Execute

Auto Execute is a feature that allows SyPrograms to be automatically launched at SyMenu start-up or quit times.
So if you want that some programs are launched together with SyMenu, you have to check the Autoexec on start checkbox of each desired application.
Similarly if you want that some programs are launched when SyMenu closes, you have to check the Autoexec on close checkbox of each desired application.
Remember that flagging Autoexec checkboxes is not enough. To make Auto Execute works it's necessary to instruct SyMenu to activate this function flagging the appropriate checkbox in Configuration menu - Options.
Autoexec on start could be configured to launch programs with a custom interval from one to eachothers while Autoexec on close launches all program at the same time.

One Instance Only

It allows SyPrograms to be launched only in one session per time.

Output Command

Every SyWinCommand is launched inside its appropriate window (very similar to Windows command shell).
But sometimes you need to launch other programs in the same window too.
So you can configure your command line program as a SyProgram and check the Output Command flag. When you launch your program the output will be shown through SyMenu output window.

Extension Manager

SyMenu tries to mimic Windows start menu but Extension Manager does more: it allows to replace the extension associations currently active in host PC. So when you double click on a .txt file in host PC you can configure that instead of Windows Notepad application, SyMenu launches another editor.
Naturally replacement can't be durable but has to take place only during SyMenu activity.
To accomplish this task SyMenu listens any new process started in your host system.
If a new process try to open a file whom extension is managed by Extension Manager, SyMenu kills process and starts its corresponding program opening the same file.
Example.
If you map your SyProgram Notepad++ with .txt extension, when Windows open the file c:\test.txt with Notepad, SyMenu will kill Notepad and launch its Notepad++ opening c:\test.txt file.

Extension Manager could be configured for any SyProgram but can be totally enabled or disabled with the appropriate menu entry.

Extensions managed by Extension Manager have to be unique inside SyMenu context. So if you try to configure .txt extension for your two SyPrograms Notepad++ and PSPad, SyMenu alerts you with an error message.

Configuration form menus

File Menu

File menu contains three commands: Reset, Save, Save & Exit.
Save and Save & Exit attend to save current SyItems configuration.
You can configure more than one SyItem per time, order them, test the configurations with testing buttons (Run, Open Folder, File Property, RunAs), but as long as you don't save configuration, you can rollback to the previous situation.

To rollback to the last saved configuration you need to press Reset button.
Saving a configuration fix it as stable and you can't automatically rollback anymore.

Item Manager menu

Item Manager menu attends to add or remove SyItems. Moreover are available commands to move items up level or alphabetically order them.
Same functions are available on programs tree by clicking mouse right button.
Be careful in removing SyContainer items because whole content will be removed.

Item Manager menu - Batch Import

Batch Import is very useful for a fast configuration of SyMenu. In fact with Batch Import is possible to import an entire set of program with a single operation.
Batch Import asks for a base folder from which it'll start to search for programs. Scanning operation concerns base folder and every subfolder.
It's possible to specify an Ignore pattern to avoid that files such as setup.exe, uninstall.exe and so on, could be retrived.
When SyMenu finish the scanning operation, it'll show, in a hierarchical way, all found items.
At this point user can select through checkboxes what programs have to be imported and what programs have to be ignored.
Batch import selects for importing .exe and .bat files.
Batch Import

Item Manager menu - Scan for unlinked

This tools scans all configured SyPrograms to find orphan items. Since portable programs are often moved, deleted, renamed, SyMenu helps you to find any unlinked program to fix it.

Configuration menu - Enable Extension Manager

Configuration menu contains the activation command for Extension Manager (see Extension Manager chapter).

Configuration menu - Create Autorun.inf

Second command contained in Configuration menu is Create Autorun.inf.
Autorun.inf is a particular file that could reside on removable device. It informs Windows that there are some activities to accomplish when the removable device is activated.
SyMenu creates Autorun.inf to customize removable device icon and to instruct Windows that launch of SyMenu is the preferred activity in that device. If you create Autorun.inf you'll see a new suggestion in Windows Autorun activities when you connect the device that contains SyMenu.

Configuration menu - Options

In Startup tab you can decide some behaviours that SyMenu will have during its startup phase.
  • Splash Screen: if checked you'll see, for few seconds, SyMenu presentation form;
  • Extension Manager: if checked Extension Manager will be activated automatically;
  • Autoexec: if checked SyItems tagged with Autoexec on start will be launched automatically. It's possible to specify an interval in seconds from one launch to another.
  • Check Version: if checked SyMenu verifies if you are using the most recent SyMenu version. You have to be online to check version;
  • Drive letter overlay on task icon: allows to put an overlay on SyMenu icon in which current drive letter is referred; it's also possible to specify a fixed color for overlay backgroud or randomize it with Randomize overlay color checkbox.
If SHIFT key is pressed during SyMenu startup, Autoexec and Check Version don't fire even if they are normally enabled. You can realize that SyMenu starts in this mode (light mode) watching the flashing led of task bar icon: it is red instead of beeing green.

In this section you can customize SyMenu icons too.
Just click an icon and choose your new image source (allowed sources are .ico, .exe, .dll files). Automatically SyMenu replaces default icon with the customized one.
If you want to reset a customized icon simply make a click on that.
Configuration Menu Options - Startup

In Closing tab you can check Autoexec checkbox to specify that all SyItems tagged with Autoexec on close will be lauched automatically during SyMenu closing.
In the same way of Autoexec on start if SHIFT key is pressed during SyMenu closing, Autoexec doesn't fire even if it's enabled.

In Menu tab you can decide if SyMenu has to include items from Windows Start Menu, configured in host PC. If you decide to include Windows Start Menu items you can also specify the number of this items SyMenu has to show.
Besides you can set if SyMenu has to show tooltip information hover any SyItem in contextual menu and, in case, which information will be shown in tooltips.
Some tooltip information are available for every SyItem while others are available for some of them. For example url information is only available for SyWebLink items.
Configuration Menu Options - Menu

In Language tab you can choose your preferred language between available ones.
If you want to add your native language on SyMenu please contact me.

In Hot Keys tab you can activate SyMenu with keyboard without clicking with mouse pointer onto SyMenu task icon. If you want to change default shortcut (ALT+F1) put cursor inside the textbox (you'll see blinking caret) and press your favourite keys combination. Available modifier keys are: SHIFT, ALT, CTRL, WIN.

In Theme tab you can customize SyMenu look. You can choose color of any contextual menu element and menu transparency level.
Configuration Menu Options - Theme

In System tab you can see some info about your host PC and some counters about configured SyItems

Help Menu

Help Menu has four command:
  • SyMenu Help: opens your predefined browser and take you to this guide (needs Internet connection);
  • Check for update: verifies if your SyMenu version is up to date (needs Internet connection);
  • Visit SyMenu's Web Site: opens your predefined browser and take you to SyMenu Web Site (needs Internet connection);
  • About SyMenu: shows initial splash screen.

Search Menu

Search item
Search menu allows to search for a SyItem inside the program tree in the same way as Search Item Bar.

Auto Update

SyMenu is capable to auto-update when a new version has been released.
To be notified about new versions please enable "Check Version" flag on Configuration menu - Options - Startup tab

Multi Execution

SyMenu allows more than one running instance from different execution paths.
In that way you can use SyMenu from different portable drives at the same time.
Overlay unit letter on task icon (see Configuration menu - Options - Startup tab), different fixed color and different hot keys to show up SyMenu can help to manage a multi session SyMenu system.
Multi task icons
When SyMenu is executed from the same path of an already running instances, it doesn't execute but it makes that previous instance popups its menu.

Licence

END-USER LICENSE AGREEMENT FOR SYMENU IMPORTANT PLEASE READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE CONTINUING WITH THIS PROGRAM INSTALL: UGMFree End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and UGMFree. for the UGMFree software product(s) identified above which may include associated software components, media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. This license agreement represents the entire agreement concerning the program between you and UGMFree, (referred to as "licenser"), and it supersedes any prior proposal, representation, or understanding between the parties. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
1. GRANT OF LICENSE.
The SOFTWARE PRODUCT is licensed as follows:
(a) Installation and Use.
UGMFree grants you the right to install and use copies of the SOFTWARE PRODUCT on your computer running a validly licensed copy of the operating system for which the SOFTWARE PRODUCT was designed [e.g. Windows 2003, Windows XP, Windows Vista, Windows 2008].
(b) Backup Copies.
You may also make copies of the SOFTWARE PRODUCT as may be necessary for backup and archival purposes.
2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
(a) Maintenance of Copyright Notices.
You must not remove or alter any copyright notices on any and all copies of the SOFTWARE PRODUCT.
(b) Distribution.
You may not distribute registered copies of the SOFTWARE PRODUCT to third parties. Official versions available for download from UGMFree’s websites may be freely distributed.
(c) Prohibition on Reverse Engineering, Decompilation, and Disassembly.
You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
(d) Rental.
You may not rent, lease, or lend the SOFTWARE PRODUCT.
(e) Support Services.
Because this software is “as is,” UGMFree may not provide support services for it.
(f) Compliance with Applicable Laws.
You must comply with all applicable laws regarding use of the SOFTWARE PRODUCT.
3. TERMINATION
Without prejudice to any other rights, UGMFree may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT in your possession.
4. COPYRIGHT
All title, including but not limited to copyrights, in and to the SOFTWARE PRODUCT and any copies thereof are owned by UGMFree or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content. All rights not expressly granted are reserved by UGMFree.
5. NO WARRANTIES
UGMFree expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT is provided “As Is” without any express or implied warranty of any kind, including but not limited to any warranties of merchantability, noninfringement, or fitness of a particular purpose. UGMFree does not warrant or assume responsibility for the accuracy or completeness of any information, text, graphics, links or other items contained within the SOFTWARE PRODUCT. UGMFree makes no warranties respecting any harm that may be caused by the transmission of a computer virus, worm, time bomb, logic bomb, or other such computer program. UGMFree further expressly disclaims any warranty or representation to Authorized Users or to any third party.
6. LIMITATION OF LIABILITY
In no event shall UGMFree be liable for any damages (including, without limitation, lost profits, business interruption, or lost information) rising out of ‘Authorized Users' use of or inability to use the SOFTWARE PRODUCT, even if UGMFree has been advised of the possibility of such damages. In no event will UGMFree be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages based in contract, tort or otherwise. UGMFree shall have no liability with respect to the content of the SOFTWARE PRODUCT or any part thereof, including but not limited to errors or omissions contained therein, libel, infringements of rights of publicity, privacy, trademark rights, business interruption, personal injury, loss of privacy, moral rights or the disclosure of confidential information.


UGM.NET ©2002-2010
By Gianluca Negrelli - Contact me