closes hbshci/fhi#60, closes hbshci/fhi#61, closes hbshci/fhi#158