tests updated to cover all execution paths