Revert "added constructors and support for additional fields"

This reverts commit 9d210a08e22c600664ea89ef463198ec272e68e2.
Revert "Revert "added constructors and support for additional fields""

This reverts commit 2463011b338962a0e398be13d0e22b55748bf8a8.
Revert "added constructors and support for additional fields"

This reverts commit 9d210a08e22c600664ea89ef463198ec272e68e2.
removed @override for implementations