Damjan's S3 Class changes

As I understand it, this will pull Damjan's cahnges into the main repository.

Hopefully this works the way I think it will!