added typescript defs