T_T NEED ! rewrite ALL after this..