add comments and base classes