Tested functions, still need corrections
Tested functions, still need corrections
merge