HPSA-108 add new functions and validations
HPSA-103 complete
HPSA-86