broke typetest into typetest and patterns
big structure changes\!