S4 object

closes #2