js oop initial commit