added typescript and karma unit testing support