refactor FW
funge