Restructed version 2.

Signed-off-by: Shelhelix <ultrashel@gmail.com>