added typescript stuff