filling out type extensions and tests