wrote some tests/ did some design