Change package structure, add test framework