Removed unneeded classes/inheritance
Added further unit tests