fix syntax error and recursive aset