enable abstract classes to be able to invoke their methods
wrap more classes
reduce libs size: export only required symbols