update my idea a lot
rename
apply the idea again, this time in forward thinking, nice result!