if re-factored/simplified; units test out