added better comments to some of the interfaces / classes