Create base.js

base implementation and interface methods