added shape assertions