contains the first implementation of FW method