Added MarkS4 class definition, generics and constructor