add test cases and clean up __init__ files