* fix: functions should use variables set by filter runs * refactor: code clean up * chore: added more tests