added enslave
terrible bug fixed, not using constructor function in instanceof check