basic BC class implementation