remove dependency on prototype