altered the function deepCopy and the equals methodology to match (opted for function property matching, as checking outputs is literally impossible and checking function strings is unreliable at best)