added shape functions