final version (tenatative)

possible bugs may occur testing should be done.