more work on malloc