Abstract class implementation