A working implementation, will subject to further testing.