or a own solution with the detailed infos and function.