added a bunch of base classes. improved view injection to work with fragments