i broke stuff by making them abstract classes..

so we'll have to figure something else out. if you look at the code
maybe you have a suggestion.