added subsetting functionality
added subsetting functionality, started on redefinitions
initial implementation of redefinition