works, now to  understand the HOW