core: start to design structure detail ; test: add test for core features, add test for structure detail