still trying to remove the TOO SIMILAR code and not break everything else