Add Basecamp main class, and helper classes