added circular unit test