finished self_test n shit