finished ohi-science/ohicore#105