typesofware