Refactor first_third_weak_base

Move first_third_weak_base method to parent base class, keep exceptions in child classes