Separated Shape and BaseShape classes