Added clone(), fixed prototype factory()