@jin added test code