update typelogic