fix top constructor bug