refactor again to use class instances in the default import; discussion
may go on API prop page