90% (tinggal laporan n minor edit)