Added JSDoc comments and class annotations