Reworked with retain-release and support for 32-bit runtimes