implemented hfs in go