add ResourceFactory abstract class and modify AWSResourceFactory to be its
sub class.