class.js

Abstract class implementation