corrected, huge changes 2