added BasicType Interface and adjustments in core classes