fixing the required methods and regular methods stuff, I think I need to work on this a little more, there is a LOT of code repetition
check for abstractness
our test now passes