added shape super class