Be careful with this. Since RAM inherits from Memory it will have an option to have a type of RAM and Memory. 

So let's think about what's happening here. We don't want to inherit further unless they will have different attributes. Will FlashMemory and Ram have attributes that the other doesn't have that we need to keep track of? Or are they just different types?