simple structure, added test functions