prototypes, js classes and instances, explanations