add reshape, incomplete