started using abstract class for Resource

wish i could use java 8, as it has default interface method definitions…