fixed circular issue
finished merge