Weak functions were overriding regular ones in certain cases, so I've removed this to avoid further problems.