basic hmf