more js work, making inheritence that makes sense