(TIP) Nearly finished but there some methods left and we still need thorough tests on some not-so-hidden features.